package it.polimi.traveldream.web.beans;


import java.util.List;

import it.polimi.traveldream.ejb.prodottobasemanagement.ProdottoBaseDTO;
import it.polimi.traveldream.ejb.prodottobasemanagement.ProdottoBaseMgr;

import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;

import org.primefaces.event.SelectEvent;
import org.primefaces.event.UnselectEvent;


@ManagedBean
@RequestScoped
public class ProdottoBaseBean {
	
	@EJB
	private ProdottoBaseMgr prodottoBaseMgr;

	private ProdottoBaseDTO nuovo;

	
	public ProdottoBaseBean(){
		nuovo = new ProdottoBaseDTO();
	}
	
	public List<?> getAlberghi(){
		return prodottoBaseMgr.getAlberghi();
	}
	
	public List<ProdottoBaseDTO> getAlberghiDTO(){
		return prodottoBaseMgr.getAlberghiDTO();
	}
	public List<ProdottoBaseDTO> getVoliDTO(){
		return prodottoBaseMgr.getVoliDTO();
	}
	public List<ProdottoBaseDTO> getEscursioniDTO(){
		return prodottoBaseMgr.getEscursioniDTO();
	}

	public String salva() {
		prodottoBaseMgr.save(nuovo);
		return "home?faces-redirect=true";
	}
	
	public String canc(){
		prodottoBaseMgr.remove(nuovo);
		return "cancellaProdottoBase?faces-redirect=true";
	}
	
	public String modify(){
		prodottoBaseMgr.modify(nuovo);
		return "users/index?faces-redirect=true";
	}
	
	
	public ProdottoBaseDTO getNuovo() {
		return nuovo;
	}

	public void setNuovo(ProdottoBaseDTO nuovo) {
		this.nuovo = nuovo;
	}

	
    public void onRowSelect(SelectEvent event) {  
        FacesMessage msg = new FacesMessage("Albergo Selezionato", ((ProdottoBaseDTO) event.getObject()).getNome());  
  
        FacesContext.getCurrentInstance().addMessage(null, msg);  
    }  
  
    public void onRowUnselect(UnselectEvent event) {  
        FacesMessage msg = new FacesMessage("Albergo Unselected", ((ProdottoBaseDTO) event.getObject()).getNome());  
  
        FacesContext.getCurrentInstance().addMessage(null, msg);  
    }  
}
